package com.ctcemti.mdm.project.sys.service;

import com.ctcemti.mdm.project.sys.entity.OrgJob;
import com.ctcemti.mdm.project.sys.entity.OrgRole;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface IOrgRoleService {
    /* *
     * @Author bxf
     * @Description 根据主键删除
     * @Date 17:08 2019/8/22
     * @param id
     * @return int
     */
    int deleteByPrimaryKey(Integer id);
    /* *
     * @Author bxf
     * @Description 插入角色表
     * @Date 17:08 2019/8/22
     * @param record
     * @return int
     */
    int insert(OrgRole record);

    /* *
     * @Author bxf
     * @Description 获取所有角色表子目
     * @Date 9:31 2019/7/23
     * @param record
     * @return java.util.List<com.ctcemti.mdm.project.sys.entity.OrgRole>
     */
    List<OrgRole> selectAllOrgRole(OrgRole record);
    /* *
     * @Author bxf
     * @Description 根据主键id获取对象
     * @Date 17:08 2019/8/22
     * @param id
     * @return com.ctcemti.mdm.project.sys.entity.OrgRole
     */
    OrgRole selectByPrimaryKey(String id);

    /* *
     * @Author bxf
     * @Description 选择性字段插入
     * @Date 10:14 2019/7/23
     * @param record
     * @param pid
     * @return int
     */
    int insertSelective(OrgRole record);
    /* *
     * @Author bxf
     * @Description 根据主键获取
     * @Date 9:14 2019/7/23
     * @param id
     * @return com.ctcemti.mdm.project.sys.entity.OrgRole
     */
    OrgRole selectByPrimaryKey(Integer id);
    /* *
     * @Author bxf
     * @Description 根据主键更新对象
     * @Date 9:14 2019/7/23
     * @param record
     * @return int
     */
    int updateByPrimaryKey(OrgRole record);

    /* *
     * @Author bxf
     * @Description 根据实体中的属性值进行查询，查询条件使用等号
     * @Date 17:08 2019/8/22
     * @param OrgRole
     * @return java.util.List<com.ctcemti.mdm.project.sys.entity.OrgRole>
     */
    public List<OrgRole> selectOrgRole(OrgRole OrgRole);

    /* *
     * @Author bxf
     * @Description 根据条件查找符合要求的所有角色（分页）
     * @Date 9:32 2019/7/23
     * @param entity
     * @return com.github.pagehelper.PageInfo
     */
    PageInfo selectAllOrgRoleByPage(OrgRole entity);


    /* *
     * @Author bxf
     * @Description 导入角色
     * @Date 16:02 2019/7/24
     * @param multipartFile
     * @param disciplineId
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String,Object> uploadFile(MultipartFile multipartFile, HttpServletResponse response) throws SQLException, IOException;
    /* *
     * @Author bxf
     * @Description 根据id批量删除数据
     * @Date 22:37 2019/8/22
     * @param ids
     * @return int
     */
    int deleteByPrimaryKeys(String ids);
    /* *
     * @Author bxf
     * @Description 角色挂人
     * @Date 13:18 2019/8/24
     * @param roleid
     * @param personids
     * @return int
     */
    int bindRoleAndPerson(String roleid, String personids);
    /* *
     * @Author bxf
     * @Description 角色挂接岗位
     * @Date 13:18 2019/8/24
     * @param roleid
     * @param jobids
     * @return int
     */
    int bindRoleAndJob(String roleid, String jobids);
    /* *
     * @Author bxf
     * @Description 角色岗位查询（roleId）
     * @Date 11:23 2019/8/24
     * @param orgJob
     * @return com.github.pagehelper.PageInfo<com.ctcemti.mdm.project.sys.entity.OrgJob>
     */
    PageInfo<OrgJob> selectAllOrgJobByPage(OrgJob orgJob,String roleId);

    /* *
     * @Author bxf
     * @Description 删除角色挂接岗位
     * @Date 13:18 2019/8/24
     * @param roleid
     * @param jobids
     * @return int
     */
    int unbindRoleAndPerson(String roleid, String personids);
}
